다차원 배열
✒️ 2025-05-27 10:18 내용 수정
배열의 요소로 또 다른 배열을 가지는 배열
- 배열 공간끼리는 독립적
- 2차원 배열은 행렬이 아니다 (행마다 다른 길이의 배열을 저장할 수 있다)
- c++ 작업 때에는 오해했었다!
- 2차원 배열은 배열 요소로 1차원 배열을 가지고, 3차원 배열은 배열의 요소로 2차원 배열을 가지게 된다.

- 가변배열(dynamic array) : 2차원 배열 생성 시 열의 길이를 명시하지 않아, 행마다 다른 길이의 배열을 element로 가질 수 있는 배열
- c++에서는
타입 배열이름[ ][ ] = { };형태로 선언했었다.
type[][] arrayName = new type[arrayLength1][arrayLength2];
type[][] arrayName = new type[arrayLength1][];
type[][] arrayName = {{a, b, c}, {d, e, f}}; // 2*3 배열이다
type[][] arrayName;
- 다중 배열의 요소를 향상된 for문으로 꺼낼 때 순환을 돌 객체를 배열로 설정하고, 다중 for문을 사용하여 최종 자료형의 순환 객체를 사용하면 모든 요소를 꺼낼 수 있다.
- 다차원 배열에선 배열의 모든 요소를 출력할 때
Arrays.toString()이 아닌Arrays.deepToString()을 써야 한다.
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
int sum = 0;
for(int[] arrTemp : arr) {
for(int i : arrTemp) {
sum =+ i;
}
}
System.out.println(Arrays.deepToString(arr));
45
[[1,2,3],[4,5,6],[7,8,9]]